
import Vue from 'vue';
import rdialog from './rm_dialog.vue';

let RdialogConstructor = Vue.extend(rdialog);
let rmDialog = function(view, opt, params) {
    return new Promise((res, rej) => { //promise封装，confirm执行res，cancel执行rej

        let rdDom = new RdialogConstructor({
            el: document.createElement('div')
        });
        document.body.appendChild(rdDom.$el); //new一个对象插入body里面
        if (opt) {
            rdDom.opt = opt;
        }
        if (params) {
            rdDom.params = params;
        }
        if (view) {
            rdDom.view = view;
            if (opt && opt.params) {
                console.log('view', view);
            }
        } else {
            const Other = {
                template: `<div><h4>测试消息</h4>{{message}}</div>`,
                data() {
                    return {
                        message: "请填写您想要的内容"
                    }
                }
            };
            rdDom.view = Other;
        }
        rdDom.confirm = function() {
            if (rdDom.$refs.viewobj.confirm) {
                rdDom.$refs.viewobj.confirm().then((e) => {
                    res(rdDom.$refs.viewobj);
                    rdDom.isShow = false;
                }).catch((erro) => {});
            } else {
                res(rdDom.$refs.viewobj);
                rdDom.isShow = false;
            }
        }
        rdDom.cancel = function() {
            if (rdDom.$refs.viewobj.cancel) {
                rdDom.$refs.viewobj.cancel();
            }
            rej()
            rdDom.isShow = false;
        }
    })
}
export default rmDialog;